package com.qinglei.recoup.system.service;

import com.qinglei.recoup.app.pojo.WxLoginInfo;
import com.qinglei.recoup.common.domain.CommonRes;
import com.qinglei.recoup.common.exception.RedisConnectException;

public interface LoginService {
    /**
     * 登录处理
     *
     * @param userName
     * @param password
     * @return
     */
    CommonRes login(String username, String password) throws Exception;

    /**
     * 登出处理
     *
     * @param userId
     * @param token
     */
    void logout(Long userId, String token, Integer tenantId) throws RedisConnectException;

    /**
     * 登出处理
     *
     * @param userId
     * @param token
     */
    void logout(Long userId) throws RedisConnectException;

    /**
     * 检查在线状态
     */
    void checkAlive(Long userId) throws RedisConnectException;

    /**
     * app用户登录
     * @param openId
     * @return
     */
    CommonRes appLogin(WxLoginInfo wxLoginInfo) throws Exception;
}
